/*
 * TestBSharp.cpp
 *
 *  Created on: 26/09/2010
 *      Author: jijodra
 */

#include "TestBSharp.h"
#include "ArbolBSharp.h"

TestBSharp::TestBSharp() {

}

void TestBSharp::Test(){

	ArbolBSharp arbol;

	arbol.Crear("tree.dat");
	arbol.Abrir("tree.dat");

	ManejadorAccesoDatos manejadorDatos = ManejadorAccesoDatos("tree.dat", CREAR);

	cout << "TAMAÑO BLOQUE: " << manejadorDatos.getTamanioBloques() / 1024 << endl;

	RegistroBSharp registro = RegistroBSharp();
/*
	for(int i = 0; i < 500; i++)
		{
			registro.clave = i + 1;
			registro.valor = i + 2;

			arbol.InsertarRegistro(registro);
		}
*/
	for(int i = 0; i < 1000; i++)
	{
		registro.clave = i + 1;
		registro.valor = i + 2;

		arbol.InsertarRegistro(registro);
	}

/*	RegistroBSharp registro2;

	registro2.clave = 372 + 1;
	registro2.valor = 372 + 2;

	arbol.InsertarRegistro(registro2);*/

	Puntero puntero = Puntero();
	puntero.numBloque = 1;
	puntero.numNodo = 1;

	arbol.EliminarRegistro(47);
	arbol.EliminarRegistro(14);
	arbol.EliminarRegistro(250);
	arbol.EliminarRegistro(200);
	arbol.EliminarRegistro(89);
	arbol.EliminarRegistro(170);
	arbol.EliminarRegistro(420);
	arbol.EliminarRegistro(369);
	arbol.EliminarRegistro(499);


	cout << endl;
	arbol.Imprimir(puntero);
	cout << endl;
/*


	RegistroBSharp registro2;
	registro2.clave = 20;
	registro2.valor = 21;
	arbol.InsertarRegistro(registro2);
	arbol.Imprimir(puntero);

	RegistroBSharp registro2;

	registro2 = arbol.ObtenerRegistro(505);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	registro2 = arbol.ObtenerRegistro(1001);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	registro2 = arbol.ObtenerRegistro(0);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	registro2 = arbol.ObtenerRegistro(88);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	registro2 = arbol.ObtenerRegistro(100);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	arbol.ModificarRegistro(100, 666);

	registro2 = arbol.ObtenerRegistro(100);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

	arbol.ModificarRegistro(222, 333);

	registro2 = arbol.ObtenerRegistro(222);

	if(registro2.clave == -1 && registro2.valor == -1)
		cout << "No se encontro el registro" << endl;
	else
		cout << "La clave buscada fue: " << registro2.clave << " y su valor es " << registro2.valor << endl;

/*	registro.clave = 8;
	registro.valor = 8;

	arbol.InsertarRegistro(registro);*/

	/*Puntero puntero = Puntero();
	puntero.numBloque = 1;
	puntero.numNodo = 0;
	arbol.Imprimir(puntero);*/

/*	vector<long> vector = arbol.RecorrerOrdenado();

	for(int i = 0; i < vector.size(); i++) {
		cout << vector[i] << endl;
	}*/


}

TestBSharp::~TestBSharp() {
}
